﻿#pragma once

// 位操作宏
#define BIT(x) (1 << (x))

// 平台检测（可选，为后续跨平台做准备）
#ifdef _WIN32
#define HZ_PLATFORM_WINDOWS
#elif defined(__APPLE__)
#define HZ_PLATFORM_MACOS
#elif defined(__linux__)
#define HZ_PLATFORM_LINUX
#endif

#include <functional>

// 绑定类成员函数到事件的便捷宏
#define HZ_BIND_EVENT_FN(fn) \
    [this](auto &&...args) -> decltype(auto) { return this->fn(std::forward<decltype(args)>(args)...); }